package vip.zhenzicheng.design_patterns.state.after;

/**
 * 电梯关闭状态类
 *
 * @author zhenzicheng
 * @date 2022-05-26 19:19
 */
public class ClosingState extends LiftState {
  @Override
  //电梯门关闭，这是关闭状态要实现的动作
  public void close() {
    System.out.println("电梯门关闭...");
  }

  //电梯门关了再打开，逗你玩呢，那这个允许呀
  @Override
  public void open() {
    super.context.setLiftState(Context.OPENING_STATE);
    super.context.open();
  }


  //电梯门关了就跑，这是再正常不过了
  @Override
  public void run() {
    super.context.setLiftState(Context.RUNNING_STATE);
    super.context.run();
  }

  //电梯门关着，我就不按楼层
  @Override
  public void stop() {
    super.context.setLiftState(Context.STOPPING_STATE);
    super.context.stop();
  }
}
